java.lang.Object
de.aoksystems.da.kernpruefung.xml.splitter.data.XElement

public class XElement extends Object
Die Klasse definiert Element-Knoten des XML-Splitters
Version:
1.0
Author:
Jens Tröger (AOK-Systems - Datenaustausch)
  • Constructor Details

    • XElement

      public XElement(String ns, String tag, String value)
      Erzeugt einen Elementknoten mit dem Tagnamen tag, dem Namensraum ns und dem Wert value. Der komplette Name (QName) wird gebildet als {ns}tag.
      Parameters:
      ns - Namensraum
      tag - Tagname
      value - Elementwert
  • Method Details

    • getQName

      public String getQName()
      Gibt den kompletten Namen (QName) des Elements zurück.
      Returns:
      kompletter Name
    • getNS

      public String getNS()
      Gibt den Namensraum des Elements zurück.
      Returns:
      Namensraum
    • getTag

      public String getTag()
      Gibt den Tag-Namen des Elements zurück.
      Returns:
      Tag-Name
    • getValue

      public String getValue()
      Gibt den direkten Inhalt des Elements zurück. Der direkte Inhalt besteht aus eventuellem Text-Inhalt. Der direkte Inhalt des Elements ist null, wenn das Element nur Kindelemente und Attribute enthält.
      Returns:
      Inhalt
    • setValue

      public String setValue(String newValue)
      Setzt den neuen Knotenwert.
      Parameters:
      newValue - neuer zu setzender Knotenwert
      Returns:
      der alte Knotenwert oder null
    • addChild

      public void addChild(XElement child) throws IllegalArgumentException
      Fügt ein Kind ein. Das Kind kann nur ein XElement sein. Für Attribute, siehe @see XElement#addAttribute() Der Name des Kindes wird dem übergebenen Parameter entnommen.
      Parameters:
      child - anzufügendes Kind.
      Throws:
      IllegalArgumentException - wenn versucht wird, Knoten an sich selbst anzuhaengen
    • getChilds

      public List<XElement> getChilds(String qName)
      Gibt alle Kinder mit dem QNamen qName zurück.
      Parameters:
      qName - QName der gesuchten Kinder
      Returns:
      Liste der Kinder mit dem Namen oder null.
    • getChilds

      public List<XElement> getChilds(String ns, String tag)
      Gibt alle Kinder mit dem Namensraum ns und dem Tag-Namen name zurück.
      Parameters:
      ns - Namensraum der gesuchten Kinder
      tag - Tag-Name der gesuchten Kinder
      Returns:
      Liste der Kinder mit dem Namen oder null.
    • getChild

      public XElement getChild(String qName)
      Gibt das erste Kind mit dem QNamen qName zurück.
      Parameters:
      qName - QName des gesuchten Kindes
      Returns:
      das erste Kind mit dem Namen oder null.
    • getChild

      public XElement getChild(String ns, String tag)
      Gibt das erste Kind mit dem Namensraum ns und dem Tag-Namen name zurück.
      Parameters:
      ns - Namensraum des gesuchten Kindes
      tag - Tag-Name des gesuchten Kindes
      Returns:
      das erste Kind mit dem Namen oder null.
    • getChild

      public XElement getChild(String qName, int pos)
      Gibt das n-te Kind mit dem QNamen name zurück.
      Parameters:
      qName - QName des gesuchten Kindes
      pos - Position des Kindes (Zählung beginnt mit 0)
      Returns:
      das erste Kind mit dem Namen oder null.
    • getChild

      public XElement getChild(String ns, String tag, int pos)
      Gibt das n-te Kind mit dem Namensraum ns und dem Tag-Namen name zurück.
      Parameters:
      ns - Namensraum des gesuchten Kindes
      tag - Tag-Name des gesuchten Kindes
      pos - Position des Kindes (Zählung beginnt mit 0)
      Returns:
      das erste Kind mit dem Namen oder null.
    • getAncestorOrNull

      public XElement getAncestorOrNull(String ns, String tag, String... more) throws IllegalArgumentException
      Gibt ein Enkel- oder Großenkel...-Element zurü. Beginnend mit ns:tag wird in die Struktur hinein abgestiegen, dabei wird jeweils ein weiteres Paar Argumente konsumiert. Die Anzahl Argumente muss gerade sein, es muss immer ein Paar ns:tag angegeben werden. Sollte innerhalb des Abstiegs ein Element nicht vorhanden sein, wird null zurueckgegeben.
      Parameters:
      ns - Namensraum des gesuchten Kindes
      tag - Tag-Name des gesuchten Kindes
      more - weitere Namensraum/Tag-Paare
      Returns:
      das Kind mit dem Namen oder null.
      Throws:
      IllegalArgumentException - wenn die Anzahl Argumente ungerade ist
    • isLeaf

      public boolean isLeaf()
      Gibt zurück, ob das Element ein endständiges Element ist.
      Returns:
      true, wenn das Element keine weiteren Kind-Elemente hat.
    • addAttribute

      public XAttribute addAttribute(XAttribute att)
      Fügt ein Attribut ein. Der Name des Attributes wird dem übergebenen Parameter entnommen.
      Parameters:
      att - anzufügendes Attribut.
      Returns:
      altes Attribut mit dem gleichen Namen oder null, wenn das Attribut noch nicht existierte
    • hasAttribute

      public boolean hasAttribute(String ns, String tag)
      Gibt zurück, ob das abgefragte Attribut am Element existiert.
      Parameters:
      ns - Namensraum des Attributes
      tag - Name des Attributes
      Returns:
      true, wenn das Element kein passendenes Attribut hat.
    • hasAttribute

      public boolean hasAttribute(String attName)
      Gibt zurück, ob das abgefragte Attribut am Element existiert. Das Attribut soll keinem Namensraum angehören. (siehe auch XML-Schema attributeFormDefault = unqualified)
      Parameters:
      attName - Name des Attributes
      Returns:
      true, wenn das Element kein passendenes Attribut hat.
    • getAttribute

      public XAttribute getAttribute(String ns, String tag)
      Gibt das Attribut mit dem angegebenen Tag-Namen und dem Namensraum zurück.
      Parameters:
      ns - Namensraum des Attributes
      tag - Name des Attributes
      Returns:
      Attribute oder null, wenn kein solches Attribut am Element existiert
    • getAttribute

      public XAttribute getAttribute(String attName)
      Gibt das Attribut mit dem angegebenen Tag-Namen zurück. Das Attribut soll keinem Namensraum angehören. (siehe auch XML-Schema attributeFormDefault = unqualified)
      Parameters:
      attName - Name des Attributes
      Returns:
      Attribute oder null, wenn kein solches Attribut am Element existiert
    • partsToElementKey

      public static String partsToElementKey(String ns, String tag)
      Konstruiert aus Namensraum und Tag-Namen des kompletten Namen.
      Parameters:
      ns - Namensraum
      tag - Tagname
      Returns:
      kompletter Name: {ns}tag
    • toString

      public String toString()
      Overrides:
      toString in class Object